package scala.com.shujia.jichu

import scala.collection.mutable
import scala.collection.mutable.ListBuffer

object Demo16Mutable {
  def main(args: Array[String]): Unit = {
    /**
     * 通过观察api发现，不可变的集合是属于scala.collection.immutable包下的
     * 如果将来想要使用可变的集合，就要去scala.collection.mutable包下寻找
     */
    //创建一个可变的List集合
    val listBuffer1: ListBuffer[Int] = new ListBuffer[Int]
    println(listBuffer1)
    listBuffer1.+=(11)
    listBuffer1.+=(22)
    listBuffer1.+=(33)
    listBuffer1.+=(11)
    listBuffer1.+=(55)
    listBuffer1.+=(22)
    listBuffer1.+=(33)
    listBuffer1.+=(66)
    listBuffer1.+=(33)
    println(listBuffer1)
    println("=" * 50)
    //获取元素
    println(listBuffer1(2))
    println(listBuffer1.head)
    println(listBuffer1.last)
    /**
     *  这里的可变List集合，上午说的功能函数，这里都可以调用
     */
    println("=" * 50)
    //删除元素
    //ListBuffer(11, 22, 33, 11, 55, 22, 33, 66, 33)
    listBuffer1.-=(33) //从左向右找元素，只会删除第一次找到的
    println(listBuffer1)
    println("=" * 50)
    //批量添加元素
    listBuffer1.+=(100,220,300,400)
    println(listBuffer1)
    println("=" * 50)
    val list1: List[Int] = List(99, 88, 77)
    listBuffer1.++=(list1)
    println(listBuffer1)


    /**
     * 可变的Set集合
     */
    val hashSet1: mutable.HashSet[Int] = new mutable.HashSet[Int]()
    val set1: hashSet1.type = hashSet1.+=(1, 2, 3, 4, 5, 7, 1, 2, 3, 1, 6, 5)
    println(set1)

  }
}
